/**
* @file task_gui.h
* @brief gui scheduler
* @details for reserver
* @author huangbin
* @version V1.0.0
* @date 2025-04-20
* @copyright All documents are copyrighted by Shenzhen Xinlongwei Technology Co., LTD.
*            They may not be used for commercial purposes without permission
*/
#ifndef __TASK_GUI_H__
#define __TASK_GUI_H__
#include "inc.h"

#define TASK_GUI_INIT_EVT							0x00000001		//init
#define TASK_GUI_WM_PROCESS_EVT						0x00000002		//message process


//全局变量
typedef struct __winmng{
	WNDPROC pWin;
	struct{
		uint32_t MainLcdEn		    : 1; //主屏选择：DISABLE：disable，ENABLE：enable
		uint32_t ExternLcdEn	    : 1; //外屏测试：DISABLE：disable，ENABLE：enable
		uint32_t CTpEn				: 1; //ctp电容屏测试：DISABLE：disable，ENABLE：enable
		uint32_t rsv				: 32-3;
	};    
}WINDOW_VAR;
extern WINDOW_VAR gVar;

extern uint8_t taskGUITaskId;
//通知gui任务处理
extern void NotifyGuiTask(void);

extern uint32_t taskGUI( uint8_t task_id, uint32_t events );

extern void taskGUIInit( uint8_t task_id );

//switch window
extern void guiWndSwtich(WNDPROC newWnd);

#endif
